package cn.kgc.service;

import cn.kgc.utils.BaseException;
import cn.kgc.vo.DmUserVO;
import cn.kgc.vo.TokenVO;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import java.util.concurrent.ExecutionException;

public interface UserService {


    //登录业务功能

    /**
     * 用户名phone，密码登录
     * @param phone
     * @param secrtPassword
     * @return
     * @throws Exception
     */
    Object[] queryLogin(String phone, String secrtPassword) throws Exception;

    /**
     * token的置换
     * @param token
     * @return
     * @throws BaseException
     */
    TokenVO replaceToken(String token) throws BaseException;

    /**
     * 发送登录手机验证码
     * @param phone
     * @throws BaseException
     * @throws ExecutionException
     * @throws InterruptedException
     */
    void sendLoginCode(String phone) throws BaseException, ExecutionException, InterruptedException;

    /**
     * 手机验证码校验
     * @param phone
     * @param vcode
     * @return
     */
    Object[] checkPhoneLoginCode(String phone, String vcode);

    /**
     * 生成token
     * @param wxid_phone, 生成token,phone,wxUserId
     * @return
     */
     String generateToken(String wxid_phone) ;

    /**
     * 生成token,用户信息放入到redis中
     * @param token
     * @param dmUserVO
     */
     void saveToken(String token, DmUserVO dmUserVO) ;

}
